diff --git a/src/_pytest/unittest.py b/src/_pytest/unittest.py
index fc3d1a515..b23ffc7fa 100644
--- a/src/_pytest/unittest.py
+++ b/src/_pytest/unittest.py
@@ -221,8 +221,9 @@ class TestCaseFunction(Function):
             # TestCase instance interacts with the results object, so better to only do it
             # when absolutely needed
             if self.config.getoption("usepdb"):
-                self._explicit_tearDown = self._testcase.tearDown
-                setattr(self._testcase, "tearDown", lambda *args: None)
+                if not getattr(self._testcase, "__unittest_skip__", False):
+                    self._explicit_tearDown = self._testcase.tearDown
+                    setattr(self._testcase, "tearDown", lambda *args: None)
 
             # we need to update the actual bound method with self.obj, because
             # wrap_pytest_function_for_tracing replaces self.obj by a wrapper
